<h2>thread_sample</h2>
<hr>
<p>
<strong>Function</strong> - Perform periodic PC sampling for a thread.
<h3>SYNOPSIS</h3>
<pre>
<strong>kern_return_t   thread_sample</strong>
                <strong>(thread_act_t</strong>                     <var>sample_thread</var>,
                 <strong>mach_port_make_send_t</strong>               <var>reply_port</var><strong>);</strong>
</pre>
<h3>PARAMETERS</h3>
<dl>
<p>
<dt> <var>sample_thread</var> 
<dd>
[in thread send right]
Thread whose PC is to be sampled
<p>
<dt> <var>reply_port</var> 
<dd>
[in sample receive (to be converted to send) right]
Port to which PC 
sample buffers are sent.  A value of <strong>MACH_PORT_NULL</strong> stops PC 
sampling for the thread.
</dl>
<h3>DESCRIPTION</h3>
<p>
The <strong>thread_sample</strong> function causes the program counter
(PC) of the specified 
<var>sample_thread</var> to be sampled periodically (whenever the thread happens to be 
running at the time of the kernel's "hardclock" interrupt). 
The set of PC sample 
values obtained are saved in buffers which are sent to the specified
<var>reply_port</var> in 
<strong>receive_samples</strong> messages.
<h3>RETURN VALUES</h3>
<p>
Only generic errors apply.
<h3>RELATED INFORMATION</h3>
<p>
Functions:
<a href="task_sample.html"><strong>task_sample</strong></a>,
<a href="receive_samples.html"><strong>receive_samples</strong></a>.
